/**
 *  Copyright 2010 ShenYang voole Co. Ltd.
 *  All right reserved. 
 */
package cn.piaoyi.dao;

import java.util.List;

import cn.piaoyi.bean.Admin;

/**
 * 功能描述:管理员操作接口
 *
 * 创建日期 Apr 10, 2010
 *
 * @author zhangbaochao
 *
 * @version 1.0
 *
 */
public interface AdminDAO {
	/**
	 * 保存Admin对象
	 * 
	 * @param admin
	 * 			Admin对象
	 * @return Admin
	 * 			Admin对象
	 */
	public Admin saveAdmin(Admin admin);
	/**
	 * 保存或更新Admin对象
	 * 
	 * @param admin
	 * 			Admin对象
	 * @return Admin
	 * 			Admin对象
	 */
	public Admin saveOrUpdateAdmin(Admin admin);
	/**
	 * 保存Admin对象
	 * 
	 * @param admin
	 * 			Admin对象
	 * @return Admin
	 * 			Admin对象
	 */
	public Admin updateAdmin(Admin admin);
	
	/**
	 * 根据主键ID获取Admin对象
	 * 
	 * @param id
	 * 			主键ID
	 * @return Admin
	 * 			Admin对象
	 */
	public Admin findAdminById(long id);
	
	/**
	 * 根据username获取Admin对象
	 * 
	 * @param username
	 * 			String
	 * @return Admin
	 * 			Admin对象
	 */
	public Admin findAdminByUsername(String username);
	
	/**
	 * 获取Admin个数
	 * 
	 * @return int
	 * 			Admin个数
	 */
	public long getAdminNum();
	
	/**
	 * 获取Admin列表
	 * 
	 * @param orderby
	 *            String
	 * @param ascOrDesc
	 *            int
	 * @param firstResult
	 *            int
	 * @param maxResults
	 *            int
	 * @return List
	 * 			Admin对象列表
	 */
	public List findAdmins(String orderby, int ascOrDesc, int firstResult, int maxResults);
	
	/**
	 * 获取Admin列表
	 * 
	 * @param orderby
	 *            String
	 * @param ascOrDesc
	 *            int
	 * @return List
	 * 			Admin对象列表
	 */
	public List findAdmins(String orderby, int ascOrDesc);
	
	/**
	 * 删除Admin对象
	 */
	public void removeAdminById(long id);
}
